import request from '@/utils/request'

/**
 * 获取用户的简历列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.size - 每页大小
 */
export const getResumeList = (params = {}) => {
  return request.get('/resumes', { params })
}

/**
 * 根据ID获取简历详情
 * @param {number} id - 简历ID
 */
export const getResumeById = (id) => {
  return request.get(`/resumes/${id}`)
}

/**
 * 创建新简历
 * @param {Object} resumeData - 简历数据
 */
export const createResume = (resumeData) => {
  return request.post('/resumes', resumeData)
}

/**
 * 更新简历
 * @param {number} id - 简历ID
 * @param {Object} resumeData - 简历数据
 */
export const updateResume = (id, resumeData) => {
  return request.put(`/resumes/${id}`, resumeData)
}

/**
 * 删除简历
 * @param {number} id - 简历ID
 */
export const deleteResume = (id) => {
  return request.delete(`/resumes/${id}`)
}

/**
 * AI生成简历
 * @param {Object} generateData - 生成参数
 * @param {string} generateData.targetPosition - 目标职位
 * @param {string} generateData.experience - 工作经验
 * @param {string} generateData.skills - 技能
 * @param {string} generateData.education - 教育背景
 * @param {string} generateData.description - 详细描述
 * @param {string} generateData.templateType - 模板类型
 */
export const generateResume = (generateData) => {
  return request.post('/resumes/generate', generateData)
}

/**
 * 导出简历
 * @param {number} id - 简历ID
 * @param {Object} exportOptions - 导出选项
 * @param {string} exportOptions.format - 导出格式 (pdf/word/markdown)
 * @param {Object} exportOptions.settings - 导出设置
 */
export const exportResume = (id, exportOptions) => {
  return request.post(`/resumes/${id}/export`, exportOptions, {
    responseType: 'blob' // 用于文件下载
  })
}

/**
 * 复制简历
 * @param {number} id - 简历ID
 */
export const copyResume = (id) => {
  return request.post(`/resumes/${id}/copy`)
} 